A notebook full of examples of Cav. These examples will get you started in no time, and it also serves as an API reference.
Start by placing the following line in your program:
In [1]:
using Cav
In [2]:
{is_pos(1), is_pos(0), is_pos(-1), is_pos([-1,0,1])}
Out[2]:
In [3]:
{is_neg(1), is_neg(0), is_neg(-1), is_neg([-1,0,1])}
Out[3]:
In [4]:
{is_zero(1), is_zero(0), is_zero([-1,0,1])}
Out[4]:
In [5]:
{is_one(1), is_one(0), is_one([-1,0,1])}
Out[5]:
In [6]:
take(5, iterate(inc, 0)) |> collect
Out[6]:
In [7]:
mapcat(inc, {[1,2,3], [4,5,6]})
Out[7]:
In [8]:
it = lfilter(isodd, 1:10)
collect(it)
Out[8]:
In [9]:
it = lfilter(iseven, 1:10)
collect(it)
Out[9]:
In [10]:
partition(3, 1:10)
Out[10]:
In [11]:
it = partition(3, take(10, 1:10))
collect(it)
Out[11]:
In [12]:
partition_all(3, [1:10])
Out[12]:
In [13]:
it = partition_all(3, take(10, 1:10))
collect(it)
Out[13]:
In [14]:
it = take(0, [1,2,3])
collect(it)
Out[14]:
In [15]:
it = drop(0, [1,2,3])
collect(it)
Out[15]:
In [16]:
it = lconcat([1,2,3], [4,5,6], [7,8,9])
collect(it)
Out[16]:
In [17]:
interleave([1,2,3])
Out[17]:
In [18]:
interleave([1.,2,3], [4.,5,6])
Out[18]:
In [19]:
interleave([1.,2,3], [4.,5,6], [7.,8,9])
Out[19]:
In [20]:
interleave([1, 2, 3], [4, 5])
Out[20]:
In [21]:
interleave([1, 2], [3, 4, 5])
Out[21]:
In [22]:
it = iterate(inc, 1)
interleave(it)
Out[22]:
In [23]:
it1 = take(3, iterate(inc, 1))
it2 = take(3, iterate(dec, -1))
collect(Int64, interleave(it1, it2))
Out[23]:
In [24]:
it1 = take(3, iterate(inc, 1))
it2 = take(2, iterate(dec, -1))
collect(Int64, interleave(it1, it2))
Out[24]:
In [25]:
it1 = take(2, iterate(inc, 1))
it2 = take(3, iterate(dec, -1))
collect(Int64, interleave(it1, it2))
Out[25]:
In [26]:
it1 = iterate(inc, 1)
it2 = iterate(dec, -1)
interleaved = interleave(it1, it2)
collect(Int64, take(6, interleaved))
Out[26]:
In [27]:
it = enumerate(take(5, lmap(x->2x, iterate(inc, 1))))
collect(it)
Out[27]:
In [28]:
it = interleave([1,2,3], [4,5,6])
separate(2, it)
Out[28]:
In [29]:
it = interleave(take(3, [1,2,3]), take(3, [4,5,6]))
separate(2, it) |> (c -> map(x -> collect(Int64, x), c))
Out[29]:
In [30]:
it = interleave(take(3, [1,2,3]), take(3, [4,5,6]))
separate(1, it) |> (c -> map(x -> collect(Int64, x), c))
Out[30]:
In [31]:
split_at(0, [1,2,3,4])
Out[31]:
In [32]:
split_at(1, [1,2,3,4])
Out[32]:
In [33]:
split_at(2, [1,2,3,4])
Out[33]:
In [34]:
l, r = split_at(0, take(4, [1,2,3,4]))
(collect(l), collect(r))
Out[34]:
In [35]:
l, r = split_at(1, take(4, [1,2,3,4]))
(collect(l), collect(r))
Out[35]:
In [36]:
l, r = split_at(2, take(4, [1,2,3,4]))
(collect(l), collect(r))
Out[36]: